From d1252ef8389effb0ba89045bc97230778f61019d Mon Sep 17 00:00:00 2001 From: Ian Campbell Date: Fri, 25 May 2007 11:24:02 +0100 Subject: [PATCH] LINUX/x86_64: Cleanup 15129:a40967e39652 by using __pgd rather than abusing mk_kernel_pgd. Also set the user bit on the vsyscall entry in the user pgd. Both changes suggested by Jan Beulich. Signed-off-by: Ian Campbell --- linux-2.6-xen-sparse/arch/x86_64/mm/init-xen.c | 2 +- .../include/asm-x86_64/mach-xen/asm/pgalloc.h | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/linux-2.6-xen-sparse/arch/x86_64/mm/init-xen.c b/linux-2.6-xen-sparse/arch/x86_64/mm/init-xen.c index acef5ea378..ad72d2773e 100644 --- a/linux-2.6-xen-sparse/arch/x86_64/mm/init-xen.c +++ b/linux-2.6-xen-sparse/arch/x86_64/mm/init-xen.c @@ -577,7 +577,7 @@ void __init xen_init_pt(void) /* Construct mapping of initial pte page in our own directories. */ init_level4_pgt[pgd_index(__START_KERNEL_map)] = - mk_kernel_pgd(__pa_symbol(level3_kernel_pgt) | _PAGE_USER); + __pgd(__pa_symbol(level3_kernel_pgt) | _PAGE_TABLE); level3_kernel_pgt[pud_index(__START_KERNEL_map)] = __pud(__pa_symbol(level2_kernel_pgt) | _KERNPG_TABLE); diff --git a/linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/pgalloc.h b/linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/pgalloc.h index ccd88f9aa3..482efb3d86 100644 --- a/linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/pgalloc.h +++ b/linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/pgalloc.h @@ -146,8 +146,8 @@ static inline pgd_t *pgd_alloc(struct mm_struct *mm) /* * Set level3_user_pgt for vsyscall area */ - set_pgd(__user_pgd(pgd) + pgd_index(VSYSCALL_START), - mk_kernel_pgd(__pa_symbol(level3_user_pgt))); + set_pgd(__user_pgd(pgd) + pgd_index(VSYSCALL_START), + __pgd(__pa_symbol(level3_user_pgt) | _PAGE_TABLE)); return pgd; } -- 2.30.2